const jwt = require("jsonwebtoken");
const md5 = require("md5");
const multer = require("multer");
const path = require("path");
// 格式化要响应的数据
// {
//     code: code,
//     msg: msg,
//     data: data
// }
module.exports.formatResponse = function (code, msg, data) {
  return {
    code,
    msg,
    data,
    // status: "OK",
  };
};

// 解析token
module.exports.analysisToken = function (token) {
  return jwt.verify(token.split(" ")[1], md5(process.env.JWT_SECRET));
};

// 处理数组类型的数据
module.exports.handleDataPattern = function (data) {
  const arr = [];
  for (const i of data) {
    arr.push(i.dataValues);
  }
  return arr;
};

// 设置上传文件的引擎
const storage = multer.diskStorage({
  destination: function (req, file, cb) {
    cb(null, __dirname + "/../public/static/uploads");
  },

  // 上传到服务器的文件, 文件名要单独处理
  filename: function (req, file, cb) {
    const extname = path.extname(file.originalname);
    const basename = path.basename(file.originalname, extname).replace(" ", "");
    // 构建一个新的名字
    const newName =
      basename +
      new Date().getTime() +
      Math.floor(Math.random() * 9000 + 10) +
      extname;
    console.log(file, "file===>", newName);
    cb(null, newName);
  },
});
module.exports.uploading = multer({
  storage: storage,
  limits: {
    fileSize: 2 * 1024 * 1024,
    files: 1,
  },
});
